Socket
Socket
Sign inDemoInstall

json-keys-sort

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

json-keys-sort

Sorting a json object based on keys either ascending or descending & even recursively


Version published
Maintainers
1
Created
Source

json-keys-sort

ts NPM npm Build Status Coverage Status wait-loop install size Buy us a tree

Sorting a json object based on keys either ascending or descending & even recursively

Latest Changes (v2.1.0)

  • sortAsync : this is a new function which returns a promise

Installation

npm install json-keys-sort or yarn add json-keys-sort

Example -

Note : focus on keys not values

const json = require('json-keys-sort');    
var data = {    
               "zoho": 4,    
               "drake": 2,    
               "yogo": {    
                   "jout": "3.2",    
                   "aou": {    
                       "yoyo": "3.1.3",    
                       "aalo": "3.1.1",    
                       "go": "3.1.2"    
                   }    
               },    
               "abc": 1    
           }    

// sync (return sorted data)
json.sort(data, true)    

// async (return promise of sorted data)
json.sortAsync(data, true)

Output will be -

{    
	"abc": 1,    
	"drake": 2,    
	"yogo": {                       
		"aou": {    
			"aalo": "3.1.1",    
			"go": "3.1.2",    
			"yoyo": "3.1.3"                                                 
		},    
		"jout": "3.2"    
	},    
	"zoho": 4    
}  
  • function parameters (for both sort & sortAsync)

    • data: the json object to sort
    • sort:
      • true (default) : ascending sort , since it is default you can only call json.sort(data) or json.sortAsync(data)
      • false : descending sort
  • The function work recursively and sort all the inner json objects too.

Versions

  • v2.1.0

    • sortAsync : this is a new function which returns a promise
  • v2.0.0

    • New : 100% code coverage
    • Improvement : sort now throws an error if not provided with an object
  • v1.3.1

    • Bug Fix : Fixed type of parameter in sort function from JSON to object
  • v1.3.0

    • Included support for typescript (added declaration file)
  • v1.2.0

    • Improvement : json array support
  • v1.1.0

    • Bug Fixed : descending sort fix
    • Improvement: auto build testing via travis-ci
  • v1.0.1

    • Bug Fixed : data null checks & default true fix
  • v1.0.0

    • Initial release - containing basic sort function only.

Pull requests are always welcomed (kindly sign commits with GPG keys. THANKS)

Contact

Twitter - @dawnimpulse
Email - dawnimpulse@gmail.com

Treeware

This package is Treeware. If you use it in production, then we ask that you buy the world a tree to thank us for our work. By contributing to the Treeware forest you’ll be creating employment for local families and restoring wildlife habitats.

License (ISC)

ISC License  
  
Copyright 2021, Saksham Khurana (DawnImpulse)  
  
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted,  
provided that the above copyright notice and this permission notice appear in all copies.  
  
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL  
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,  
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,  
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE  
OR PERFORMANCE OF THIS SOFTWARE.

Written with StackEdit.

Keywords

FAQs

Package last updated on 22 Sep 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc